const router = require('koa-router')()
const {HttpException}=require('../cors/http-exception')
const {PositiveIntegerValidator}=require("../validators/validator")
router.get('/', async (ctx, next) => {
  await ctx.render('index', {
    title: 'Hello Koa 2!'
  })
})

router.get('/string', async (ctx, next) => {
  
  ctx.body = 'koa2 string'
})
router.post('/post', async (ctx, next) => {
  const body=ctx.request.body
  const query=ctx.request.query //获取url?后面参数


  if(query){
   // const error=new HttpException('query is kong',10001,400)
 //global  有错误的话比较难排查   已知异常
 const error =new global.errs.ParameterException('query is kong',10001,400)
    throw error
  }
  
  // ctx.body ='koa2 string'
})
router.post('/json/:id/my', async (ctx, next) => {

  ctx.params .id=  Number(ctx.params.id)
  const path=ctx.params ///v1/:id/c获取id
  // console.log(path)
  const v=new PositiveIntegerValidator().validate(ctx) //校验 获取数据
  
 
  ctx.body=  v.get('path.id')  //校验器会自动转换格式    ctx.body=  v.get('path.id parsed=false') 不转换
  const c={
    a:1,
    b:{
      f:2,
      e:{
        o:2 
      }
    }
  }
  //  ctx.body=  v.get('body.b.e')  可以免除判断 是否存在等 
  //User表格 一个小程序 一个通用行的
  //账号 密码 名称 手机号码 
  //注册 
  // Sequelize 连接数据库 配置一些数据库的相关数据
})

module.exports = router
